﻿#ifndef __FLIGHT_MESSAGE_MESSAGE__
#define __FLIGHT_MESSAGE_MESSAGE__

#include<stdint.h>
#define FLIGHT_INFO_PERPACKET_MAX 30
typedef struct
{
    uint16_t  FramHeadSynH;		// 帧头高位
    uint16_t  FramHeadSynL;		// 帧头低位
    uint16_t  CommandSize;		// 命令长度
    uint16_t  SourceID;			// 源 ID
    uint16_t  DestinationID;	// 目的 ID
    uint16_t  ReserveZone;		// 预留
    uint16_t  CommandWordH;		// 命令识别字
    uint16_t  CommandWordL;
}TrackingHeadStruct;		// 命令头结构体

typedef struct
{
    uint16_t  FramTailSynH;		// 帧尾高位
    uint16_t  FramTailSynL;		// 帧尾低位
}TrackingTailStruct;		// 命令头结构体


// 命令内容部分
// 雷达前端 ID：01
// 显控终端 ID：02
// 数据转发 ID：03
// 信号处理 ID：04
// 数据存储 ID：05

/*
 * 第一部分
 * 源：	 信号处理 04
 * 目的：显控终端 02
 */
/*version
typedef struct
{
        uint32_t FrameID;
        uint32_t BatchID;  	// ID
        float Distance;    	// m
        float Speed;		// m/s
        float Angle;		// 度
        float Amp;              // 数
        float Radius;		// m
        float CourseAngle;	// 度
}FlightPathMessageStruct;		// 航迹信息
const uint32_t FlightPathMessageStruct_ID = 0x0001;*/

typedef struct
{
    uint32_t BatchID;  	// ID
    float Distance;    	// m
    float Speed;		// m/s
    float Angle;		// 度
    float Amp;          // 数
    float Radius;		// m
    float CourseAngle;	// 度
}TargetMessageStruct;

typedef struct
{
    uint32_t FrameID;
    uint32_t TargetNumber;
    TargetMessageStruct TargetMessage[FLIGHT_INFO_PERPACKET_MAX];
}FlightPathMessageStruct;
const uint32_t FlightPathMessageStruct_ID = 0x0001;

#endif


// 1. 判断帧头帧尾
// 2. 根据帧头数据长度获取数据，转换成结构体；
// 3. 解析内容

// 注意： 版本统一
